package fem2.enu;

/**
 * PETSc Krylov subspace type type
 * 
 * @author hbui
 * 
 */
public enum PETScKSPType {

	KSPRICHARDSON("richardson"), //
	KSPCHEBYSHEV("chebyshev"), //
	KSPCG("cg"), //
	KSPCGNE("cgne"), //
	KSPNASH("nash"), //
	KSPSTCG("stcg"), //
	KSPGLTR("gltr"), //
	KSPGMRES("gmres"), //
	KSPFGMRES("fgmres"), //
	KSPLGMRES("lgmres"), //
	KSPDGMRES("dgmres"), //
	KSPPGMRES("pgmres"), //
	KSPTCQMR("tcqmr"), //
	KSPBCGS("bcgs"), //
	KSPIBCGS("ibcgs"), //
	KSPFBCGS("fbcgs"), //
	KSPIFBCGS("ifbcgs"), //
	KSPBCGSL("bcgsl"), //
	KSPCGS("cgs"), //
	KSPTFQMR("tfqmr"), //
	KSPCR("cr"), //
	KSPLSQR("lsqr"), //
	KSPPREONLY("preonly"), //
	KSPQCG("qcg"), //
	KSPBICG("bicg"), //
	KSPMINRES("minres"), //
	KSPSYMMLQ("symmlq"), //
	KSPLCD("lcd"), //
	KSPPYTHON("python"), //
	KSPGCR("gcr"), //
	KSPSPECEST("specest") //
	;

	private String kspType;

	PETScKSPType(String kspType) {
		this.kspType = kspType;
	}

	public String getName() {
		return this.kspType;
	}

}
